# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""
Icon.py
By: Denver Coneybeare <denver@sleepydragon.org>
Oct 28, 2012
"""

from __future__ import print_function
from __future__ import unicode_literals

class Icon(object):
    """
    Base class for the visual icon of a NotifyIcon.
    This class does not provide any functionality in and of itself, but rather
    needs to be subclassed.  The only attribute exposed by this class is
    "handled", which is an int specified to __init__().
    """

    def __init__(self, handle):
        """
        Initializes a new instance of this class.
        *handle* must be an int whose value is a Windows handle to the icon,
        which can be specified to Windows APIs for HANDLE arguments.
        winnotify.Error may be raised by the implementation of __init__() in
        subclasses if an error occurs retrieving the icon resource.
        """
        self.handle = handle
